/*
Tipos de bloques:
 00 = Vacio
 99 = Indestructible
 01 = Normal
 20 = sale una bola extra, cayendo algo
 
*/

using UnityEngine;
using System.Collections;

public class Block : MonoBehaviour
{
	public Transform particles;

	//Si lo pongo aqui no icicializa los valores, al parecer en la funcion o en la interfaz de unity
	public int miColor;  // Color del bloque
	public int miDestruccion;  //Golpes que le quedan para destruirse (si es 0 es indestructible)
	//public int miRegalo;  // Tipo de objeto si tiene
	//public Regalo mRegalo;
	public string msRegalo;  //ya que solo nos hace el valor no la posicion 
	public int miX;
	public int miY;

	public int X
	{
		get { return miX; }
		set { miX = value; }
	}

	public int Y
	{
		get { return miY; }
		set { miY = value; }
	}



	public void Awake()
	{
		//miTipoBloque = 1;
		//miDestruccion = 0;
	}

	/*
	//colisiona con el triger y este lo traspasa, no hace el efecto de fisica
	void OnTriggerEnter () 
	{
        BreakoutGame.SP.HitBlock();
        Destroy(gameObject);
	}
	*/


	//Justo al colisionar pero no lo traspasa,  hace el efecto de fisica
	void OnCollisionEnter(Collision collision)
	{

		//Debug.Log(miDestruccion);
		//Debug.Log(miTipoBloque);


		


		if (miDestruccion == 1)  //si se va a destruir y es de tipo destructible
		{
			Sonidos.SP.Choque("BolaBloque");
			DestruirBloque();
		}
		else if (miDestruccion > 0)
		{
			miDestruccion--;
			Sonidos.SP.Choque("BolaBloqueNoDestruido");
		}
	}



	void Update()
	{

	}

	public void DestruirBloque()
	{
		
		BreakoutGame.SP.HitBlock();
		Instantiate(particles, collider.transform.position, Quaternion.identity);

		string lsRegalo = gameObject.GetComponent<Block>().msRegalo;
		if (lsRegalo != "")
		{
			//Creamos un Static con el regalo para crearlo en laclase principal
			//BreakoutGame.mbCrearRegalo = true;
			//Regalo.StaticRegalo.X = gameObject.GetComponent<Block>().X;
			//Regalo.StaticRegalo.Y = gameObject.GetComponent<Block>().Y;
			//Regalo.StaticRegalo.Tipo = lsRegalo;

			BreakoutGame.SP.CrearRegalo(collider.transform.position, lsRegalo);
		}

		Destroy(gameObject);

	}

}
